package com.ucar.train.dao;

import com.ucar.train.dto.UserRole;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserRoleMapper {

    /**
     * 给用户赋予角色
     * @param userRole
     * @return
     */
    Integer saveUserRole(@Param("userRole") UserRole userRole);

    /**
     * 删除一条用户角色信息
     * @param id
     * @return
     */
    Integer deleteUserRole(@Param("id") Long id);

    
    /**
     * 更新用户角色
     * @param userRole
     * @return
     */
    Integer updateUserRole(@Param("userRole") UserRole userRole);

    /**
     * 根据用户角色id查询到一条用户角色信息
     * @param id
     * @return
     */
    UserRole getUserRole(@Param("id") Long id);

    /**
     * 查询所有用户角色信息
     * @return
     */
    List<UserRole> listUserRoles();

    /**
     * 查询组中用户角色信息
     * @param id 组id
     * @return
     */
    List<UserRole> listUserRolesByGroup(Long id);

    /**
     * 查询某个用户角色ID
     * @param id
     * @return
     */
    List<Long> listRolesByUser(@Param("id") Long id);

    /**
     * 查看用户的所有角色信息
     * @param id
     * @return
     */
    List<UserRole> listRoleByUser(@Param("id") Long id);
}
